/**
 * http://usejsdoc.org/
 * @desc crypto-hash加密方式
 */

/**获取Node.js原生模块crypto*/
var crypto = require('crypto');

/*------------------binary md5------------------*/

/**调用crypto模块的hash编码*/
var hash = crypto.createHash("md5");

/**应用hash编码方式实现加密*/
hash.update(new Buffer("devintam","binary"));
var encode = hash.digest('hex');

console.log('binary data:'+encode);

/*------------------String md5------------------*/

/**调用crypto模块的hash编码*/
var hash = crypto.createHash("md5");

/**应用hash编码方式实现加密*/
hash.update("devintam");
var encode = hash.digest('hex');

console.log('string data:'+encode);

/*------------------String sha1------------------*/

/**调用crypto模块的hash编码*/
var hash = crypto.createHash("sha1");

/**应用hash编码方式实现加密*/
hash.update("devintam");
var encode = hash.digest('hex');

console.log('string sha1:'+encode);

/*------------------String sha1 base64------------------*/

/**调用crypto模块的hash编码*/
var hash = crypto.createHash("sha1");

/**应用hash编码方式实现加密*/
hash.update("devintam");
var encode = hash.digest('base64');

console.log('string sha1 base64:'+encode);


/*------------------binary md5------------------*/
/**调用crypto模块的hmac编码*/
var hmac = crypto.createHmac('md5', 'dan');

/**应用hmac编码方式实现加密*/
hmac.update(new Buffer("devintam","binary"));
var encode = hmac.digest('hex');

console.log('binary md5:'+encode);


/*------------------String md5------------------*/
/**调用crypto模块的hmac编码*/
var hmac = crypto.createHmac('md5', 'dan');

/**应用hmac编码方式实现加密*/
hmac.update("devintam");
var encode = hmac.digest('hex');

console.log('String md5:'+encode);



/*------------------String sha1------------------*/
/**调用crypto模块的hmac编码*/
var hmac = crypto.createHmac('sha1', 'dan');

/**应用hmac编码方式实现加密*/
hmac.update("devintam");
var encode = hmac.digest('hex');

console.log('String sha1:'+encode);


/*------------------String sha1 base64------------------*/
/**调用crypto模块的hmac编码*/
var hmac = crypto.createHmac('sha1', 'dan');

/**应用hmac编码方式实现加密*/
hmac.update("devintam");
var encode = hmac.digest('base64');

console.log('String sha1 base64:'+encode);
